home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / uhren & terminkalender / time / tolleuhr / tolleuhr_asm / source / tolleuhr.lib.020.s.diff < prev    next >
Text File  |  1996-04-07  |  6KB  |  233 lines

  1. *** normal.s    Fri Nov 17 20:18:21 1995
  2. --- tolleuhr.s    Fri Nov 17 20:18:45 1995
  3. ***************
  4. *** 1,5 ****
  5. --- 1,150 ----
  6.   ***************************************************************************
  7.   
  8. + ; tolleuhr.library v37.1 - 15/11/95 by Gunther Nikl - first version
  9. + ***************************************************************************
  10. + ; include stuff
  11. +         include    exec/types.i
  12. +         include    exec/resident.i
  13. +         include    exec/libraries.i
  14. +         include    exec/initializers.i
  15. +         include    lvo30/exec_lib.i
  16. + ; specific defines
  17. + UHRVER        equ    37
  18. + UHRREV        equ    1
  19. + ; macro stuff
  20. + RECALL        MACRO
  21. +         jsr    _LVO\1(a6)
  22. +         ENDM
  23. + LIBVEC        macro
  24. +         dc.w    \1-FuncTab
  25. +         endm
  26. + ; class base
  27. +     STRUCTURE ClassBase,36
  28. +      ULONG    cb_SegList
  29. +      ULONG    cb_SysBase
  30. +     LABEL cb_SIZEOF
  31. + ***************************************************************************
  32. + start        moveq    #-1,d0
  33. +         rts
  34. + ***************************************************************************
  35. + RomTag        dc.w    RTC_MATCHWORD
  36. +         dc.l    RomTag
  37. +         dc.l    EndTag
  38. +         dc.b    RTF_AUTOINIT
  39. +         dc.b    UHRVER
  40. +         dc.b    NT_LIBRARY
  41. +         dc.b    0
  42. +         dc.l    LibName
  43. +         dc.l    IdString
  44. +         dc.l    InitTab
  45. + EndTag
  46. + ;--------------------------------------------------------------------------
  47. + LibName        dc.b    'tolleuhr.library',0
  48. + IdString    dc.b    'tolleuhr 37.1 (15.11.95)'
  49. +         dc.b    ' by M.Fleischer and G.Nikl',13,10,0
  50. + ;--------------------------------------------------------------------------
  51. +         cnop    0,4
  52. + InitTab        dc.l    cb_SIZEOF
  53. +         dc.l    FuncTab
  54. +         dc.l    ResInfo
  55. +         dc.l    InitFunc
  56. + ;--------------------------------------------------------------------------
  57. + FuncTab        dc.w    -1
  58. +         LIBVEC    LibOpen
  59. +         LIBVEC    LibClose
  60. +         LIBVEC    LibExpunge
  61. +         LIBVEC    LibExtFunc
  62. +         LIBVEC    LibClock
  63. +         dc.w    -1
  64. + ;--------------------------------------------------------------------------
  65. + ResInfo        INITBYTE LN_TYPE,NT_LIBRARY
  66. +         INITLONG LN_NAME,LibName
  67. +         INITBYTE LIB_FLAGS,(LIBF_SUMUSED!LIBF_CHANGED)
  68. +         INITWORD LIB_VERSION,UHRVER
  69. +         INITWORD LIB_REVISION,UHRREV
  70. +         INITLONG LIB_IDSTRING,IdString
  71. +         dc.w 0
  72. + ***************************************************************************
  73. +         cnop    0,4
  74. + InitFunc    suba.l    a1,a1
  75. +         cmp.w    #37,20(a6)        ; need at least 2.04!
  76. +         bcs.s    1$
  77. +         move.l    d0,a1
  78. +         move.l    a0,cb_SegList(a1)    ; save seglist
  79. +         move.l    a6,cb_SysBase(a1)    ; cache SysBase (speed!)
  80. + 1$        move.l    a1,d0
  81. +         rts
  82. + ;--------------------------------------------------------------------------
  83. + LibOpen        addq.w    #1,32(a6)        ; one more user
  84. +         and.b    #$f7,14(a6)
  85. +         move.l    a6,d0
  86. +         rts
  87. + ;--------------------------------------------------------------------------
  88. + LibClose    subq.w    #1,32(a6)        ; one less user
  89. +         bne.s    LibExtFunc
  90. +         btst    #3,14(a6)
  91. +         bne.s    LibExpunge        ; expunge!
  92. + ;--------------------------------------------------------------------------
  93. + LibExtFunc    moveq    #0,d0            ; reserved library entry
  94. +         rts
  95. + ;--------------------------------------------------------------------------
  96. + LibExpunge    movem.l    a2/a5/a6,-(sp)
  97. +         move.l    a6,a5
  98. +         suba.l    a2,a2
  99. +         or.b    #8,14(a5)        ; set LIBF_DELEXP
  100. +         tst.w    32(a5)
  101. +         bne.s    1$            ; still in use...
  102. +         move.l    cb_SysBase(a5),a6
  103. +         move.l    cb_SegList(a5),a2    ; get seglist
  104. +         move.l    a5,a1
  105. +         RECALL    Remove
  106. +         move.l    a5,a1
  107. +         moveq    #0,d0
  108. +         move.w    16(a5),d0
  109. +         suba.l    d0,a1
  110. +         add.w    18(a5),d0
  111. +         RECALL    FreeMem
  112. + 1$        move.l    a2,d0            ; return SegList (or NULL)
  113. +         movem.l    (sp)+,a2/a5/a6
  114. +         rts
  115. + ***************************************************************************
  116.   ; inspired from 'TolleUhr' by Matthias Fleischer - translated to assembler
  117.   ; (gcc is good - I am better ;)
  118.   
  119. ***************
  120. *** 11,16 ****
  121. --- 156,162 ----
  122.   ; uhr v1.3   07/03/95 by Gunther Nikl - alarmSet() fixed (didn't set st/mi)
  123.   ;            05/05/95 by Gunther Nikl - optional background image added
  124.   ;            18/05/95 by Gunther Nikl - added 'NOREMAP' switch
  125. + ;            15/11/95 by Gunther Nikl - first function now '_TolleUhr'
  126.   
  127.   ***************************************************************************
  128.   
  129. ***************
  130. *** 26,32 ****
  131.   
  132.           include    exec/types.i
  133.           include    lvo30/dos_lib.i
  134. -         include    lvo30/exec_lib.i
  135.           include    lvo30/icon_lib.i
  136.           include    lvo30/locale_lib.i
  137.           include    lvo30/gadtools_lib.i
  138. --- 172,177 ----
  139. ***************
  140. *** 48,57 ****
  141.           jsr    _LVO\1(a6)
  142.           ENDM
  143.   
  144. - RECALL        MACRO
  145. -         jsr    _LVO\1(a6)
  146. -         ENDM
  147.   MITEM        macro
  148.           IFEQ    NARG-5
  149.   ItemCount    set    \5
  150. --- 193,198 ----
  151. ***************
  152. *** 215,230 ****
  153.   
  154.   ***************************************************************************
  155.   
  156. !         SECTION start,CODE
  157. ! start        move.w    #(gb_SIZEOF>>2)-1,d0
  158.   1$        clr.l    -(sp)            ; clear local var area
  159.           dbra    d0,1$
  160.           move.l    sp,bp
  161.           move.l    4,a6
  162.           move.l    a6,SysBase(bp)        ; cache ExecBase
  163.           suba.l    a1,a1
  164. !         RECALL    FindTask        ; find us
  165.           move.l    d0,a2
  166.           move.l    a2,OurTask(bp)        ; cache task ptr
  167.           tst.l    172(a2)
  168. --- 356,370 ----
  169.   
  170.   ***************************************************************************
  171.   
  172. ! LibClock    movem.l    d2/a2/a4/a6,-(sp)
  173. !         move.w    #(gb_SIZEOF>>2)-1,d0
  174.   1$        clr.l    -(sp)            ; clear local var area
  175.           dbra    d0,1$
  176.           move.l    sp,bp
  177.           move.l    4,a6
  178.           move.l    a6,SysBase(bp)        ; cache ExecBase
  179.           suba.l    a1,a1
  180. !         RECALL    FindTask        ; use system function ..
  181.           move.l    d0,a2
  182.           move.l    a2,OurTask(bp)        ; cache task ptr
  183.           tst.l    172(a2)
  184. ***************
  185. *** 244,249 ****
  186. --- 384,390 ----
  187.           RECALL    ReplyMsg        ; reply wbsmg
  188.   1$        moveq    #0,d0
  189.           lea    gb_SIZEOF(bp),sp
  190. +         movem.l    (sp)+,d2/a2/a4/a6
  191.           rts
  192.   
  193.   ***************************************************************************
  194.